package code


import scala.collection.mutable.ArrayBuffer
import org.uqbar.commons.utils.Observable


class Empleado(var nombre: String, var legajo: Int) {
	var estaAsignado: Boolean = false
	var diasDisponible : ArrayBuffer[Disponibilidad]= new ArrayBuffer[Disponibilidad]
	var restricciones : ArrayBuffer[Restriccion] = new ArrayBuffer[Restriccion]

	def agregarDisponibilidad(unDia : String, horaEntrada :Int, horaSalida : Int){
	var instanciaDisponibilidad = new Disponibilidad(unDia, horaEntrada, horaSalida)
	  if (horaSalida - horaEntrada < 4)			
		this.diasDisponible.append(instanciaDisponibilidad)
		else throw new Error("Esta seleccionando menos de 4 horas")
	}
	
	def quitarDisponibilidad(unDia: String){
	  diasDisponible = diasDisponible.filter(d => d.dia != unDia)
	}
	
	def agregarRestriccion(dia: Int, mes : Int, anio : Int){
	  var instance = new Restriccion(dia, mes, anio)
	  this.restricciones.append(instance)
	}
	
	def tieneRestriccionParaDia(dia :Int)={
		restricciones.exists(r => r.fecha.getDayOfMonth() == dia)
	}
	
	
}
